package com.sinog.biz.mapper.havexml.census;

import com.sinog.core.domain.AzbjRsVo;
import com.sinog.core.model.JobRanking;
import com.sinog.core.model.SjfxBean;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @desc -系统中所有统计的mapper
 * @author 潘志成
 * @date 2022/10/21 14:29
 */
public interface AllCensusMapper {
    /**
     * 获取监狱局下衔接总数核查
     * @param departid departid
     * @param state state
     * @return long
     */
    long getHcCount(@Param("departid") String departid,@Param("state") String state);
    /**
     * 获取监狱局下衔接总数
     * @param departid departid
     * @param state state
     * @return long
     */
    long getXjCount(@Param("departid") String departid,@Param("state") String state);

    /**
     * 获取迁移总数
     * @param departid
     * @param state
     * @return
     */
    long getQyCount(@Param("departid") String departid,@Param("state") String state);

    /**
     * 首页统计 - 司法所首页上方数据 - 志愿者数量
     * @param code code
     * @return Integer
     */
    Integer zyzCount(@Param("code") String code);

    /**
     * 首页统计 - 司法所首页上方数据 - 安置帮教基地数量
     * @param code code
     * @return Integer
     */
    Integer bjjdCount(@Param("code") String code);

    /**
     * 首页统计 - 司法所首页上方数据 - 社会组织数量
     * @param code code
     * @return Integer
     */
    Integer zzCount(@Param("code") String code);

    /**
     * 首页---小卡片数量统计
     * @param departId 部门id
     * @return 该部门所有的统计数量
     */
    List<AzbjRsVo> syCount(@Param("departId") String departId);

    /**
     * 司法所 - 首页展示 - 帮教对象人数统计
     * @param departId 部门id
     * @return 帮教对象人数
     */
    Integer bjdxrs(@Param("departId") String departId);

    /**
     * 司法所 - 首页展示 - 重点帮教对象人数统计
     * @param departId 部门id
     * @return 重点帮教对象人数
     */
    Integer zdbjdxrs(@Param("departId") String departId);

    /**
     * 首页统计 - 点击获取全国地区数量 - 全部帮教对象 全部帮教对象-地图数量
     * @param code code
     * @return List<HashMap < String,Object>>
     */
    List<HashMap<String,Object>> allbjDtCount(@Param("code") String code);

    /**
     * 首页统计 - 点击获取全国地区数量 - 重点帮教 重点帮教对象数量-地图数量
     * @param code code
     * @return List<HashMap < String,Object>>
     */
    List<HashMap<String,Object>> zdbjDtCount(@Param("code") String code);

    /**
     * 首页统计 - 点击获取全国地区数量 - 未衔接 未衔接人数-地图
     * @param code code
     * @return List<HashMap < String,Object>>
     */
    List<HashMap<String,Object>> wxjDtCount(@Param("code") String code);

    /**
     * 填写信息
     * @param code code
     * @return List<HashMap < String,Object>>
     */
    List<HashMap<String,Object>> slDtCount(@Param("code") String code);

    /**
     * 地图新区首页统计数据
     * @param code code
     * @return List<HashMap < String,Object>>
     */
    List<HashMap<String,Object>> getWzsAzbj(@Param("code") String code);

    /**
     * 地图新区首页统计数据
     * @param code code
     * @return List<HashMap < String,Object>>
     */
    List<HashMap<String,Object>> getWzsZdbj(@Param("code") String code);

    /**
     * 地图新区首页统计数据
     * @param code code
     * @return List<HashMap < String,Object>>
     */
    List<HashMap<String,Object>> getWzsWxj(@Param("code") String code);

    /**
     * 地图新区首页统计数据
     * @param code code
     * @return List<HashMap < String,Object>>
     */
    List<HashMap<String,Object>> getWzsSl(@Param("code") String code);
    ////////////////////////////////9、首页柱状图///////////////////////////////////

    /**
     * 首页统计 - 当前月往前推12个月
     * @return List<String>
     */
    List<String> getMonth();

    /**
     * 安置帮教对象总数
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> a1Year(@Param("departId") String departId);

    /**
     * 首页统计 - 安置帮教对象总数
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> a1LastYear(@Param("departId") String departId);

    /**
     * 安置帮教对象总数
     * @param departId departId
     * @return List<String>
     */
    List<String> countSum1(@Param("departId") String departId);

    /**
     * 重点帮教对象
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> a2Year(@Param("departId") String departId);

    /**
     * 填写信息
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> a2LastYear(@Param("departId") String departId);

    /**
     * 重点总数
     * @param departId departId
     * @return List<String>
     */
    List<String> countSum2(@Param("departId") String departId);

    /**
     * 核查总人数-司法所  按照发起核查表的总数量计算：prisoner_hc
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> a3Year(@Param("departId") String departId);

    /**
     * 首页统计 - 核查人数
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> a3LastYear(@Param("departId") String departId);

    /**
     * 已核查总数
     * @param departId departId
     * @return List<String>
     */
    List<String> countSum3(@Param("departId") String departId);

    /**
     * 衔接人数
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> a4Year(@Param("departId") String departId);

    /**
     * 填写信息
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> a4LastYear(@Param("departId") String departId);

    /**
     * 已衔接总数
     * @param departId departId
     * @return List<String>
     */
    List<String> countSum4(@Param("departId") String departId);

    /**
     * 安置人数  改为 安置人次（总共安置多少次）
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> a5Year(@Param("departId") String departId);

    /**
     * 填写信息
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> a5LastYear(@Param("departId") String departId);

    /**
     * 安置总数
     * @param departId departId
     * @return List<String>
     */
    List<String> countSum5(@Param("departId") String departId);

    /**
     * 帮教人数  改为帮教人次（帮教总次数：包含帮扶+教育）
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> a6Year(@Param("departId") String departId);

    /**
     * 填写信息
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> a6LastYear(@Param("departId") String departId);

    /**
     * 帮教总数
     * @param departId departId
     * @return List<String>
     */
    List<String> countSum6(@Param("departId") String departId);

    /**
     * 待核查人数  修改为 核查总数  计算方式：核查成功+核查失败
     * prisoner_main   connecttime  核查成功或失败时间   state 字段为3的数据
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> b1Year(@Param("departId") String departId);

    /**
     * 去年 核查总数  计算方式：核查成功+核查失败
     * prisoner_main   connecttime  核查成功或失败时间   state 字段为3的数据
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> b1LastYear(@Param("departId") String departId);

    /**
     * 核查成功人数（核查成功人数包含 转入到原侦查地司法所 核查成功的人数）
     * prisoner_main   connecttime：核查成功或失败时间   state：字段为3的数据
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> b2Year(@Param("departId") String departId);

    /**
     * 去年核查成功人数（核查成功人数包含 转入到原侦查地司法所 核查成功的人数）
     * prisoner_main   connecttime：核查成功或失败时间   state：字段为3的数据
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> b2LastYear(@Param("departId") String departId);

    /**
     * 核查失败人数 （理论上不存在核查失败的人数，目前只统计公安比对失败-转入户籍地的）
     * prisoner_main   connecttime：核查成功或失败时间   核查成功标识：state=3   转入原侦查机关：approval=1 的数据
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> b3Year(@Param("departId") String departId);

    /**
     * 核查失败人数 （理论上不存在核查失败的人数，目前只统计公安比对失败-转入户籍地的）
     * prisoner_main   connecttime：核查成功或失败时间   核查成功标识：state=3   转入原侦查机关：approval=1 的数据
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> b3LastYear(@Param("departId") String departId);

    /**
     * 首页统计 - 衔接失败人数
     * main表的state_xj 为 3			衔接时间 取 xjxx表的updatetime
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> b4Year(@Param("departId") String departId);

    /**
     * 首页统计 - 衔接失败人数
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> b4LastYear(@Param("departId") String departId);

    /**
     * 首页统计 - 衔接成功人数
     * main表的state_xj 为 1 衔接时间 取 xjxx表的updatetime
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> b5Year(@Param("departId") String departId);

    /**
     * 首页统计 - 衔接成功人数
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> b5LastYear(@Param("departId") String departId);

    /**
     * 未衔接人数
     * main表的state_xj 为 4			fx 表的 刑期止日 Pri_stop  并且 未死亡的  Death=2
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> b6Year(@Param("departId") String departId);

    /**
     * 填写信息
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> b6LastYear(@Param("departId") String departId);

    /**
     * 安置帮教对象总数
     * @param departId departId
     * @return List<String>
     */
    List<String> countSum7(@Param("departId") String departId);

    /**
     * 首页统计 - 核查成功人数
     * @param departId departId
     * @return List<String>
     */
    List<String> countSum8(@Param("departId") String departId);

    /**
     * 已核查总数
     * @param departId departId
     * @return List<String>
     */
    List<String> countSum9(@Param("departId") String departId);

    /**
     * 首页统计 - 衔接失败人数
     * @param departId departId
     * @return List<String>
     */
    List<String> countSum10(@Param("departId") String departId);

    /**
     * 首页统计 - 衔接成功人数
     * @param departId departId
     * @return List<String>
     */
    List<String> countSum11(@Param("departId") String departId);

    /**
     * 帮教总数
     * @param departId departId
     * @return List<String>
     */
    List<String> countSum12(@Param("departId") String departId);

    /**
     * 填写信息
     * @param departId departId
     * @return List<String>
     */
    List<String> getDepartId(@Param("departId") String departId);

    /**
     * 数据统计分析 - 数据分析 - 根据code和type查询dy_sql
     * @param quota quota
     * @return String
     */
    String getDySql(String quota);

    /**
     * 数据统计分析 - 数据分析 - 查询sql
     * @param dysql dysql
     * @return Double
     */
    Double quotaCount(@Param("dysql") String dysql);

    /**
     * 数据统计分析 - 数据分析 - 数据统计分析 - 数据分析 - 左侧树展开
     * @param parentCode parentCode
     * @param departType departType
     * @return List<SjfxBean>
     */
    List<SjfxBean> getCategoryTree(@Param("parentCode") String parentCode,@Param("departType") String departType);

    /**
     * 数据统计分析 - 数据分析 - 根据code查询name
     * @param code code
     * @return String
     */
    String getcodeNameByCode(String code);
    /**
     * 数据统计分析 - 数据分析 - 查询分析项 - (统计分析左侧树一级菜单)
     * @param type type
     * @param parentCode parentCode
     * @param orgType orgType
     * @return List<Map < String,String>>
     */
    List<Map<String,String>> queryAnalysis(
            @Param("type") String type,@Param("parentCode") String parentCode,@Param("orgType") String orgType);


    ////////////////////////////////5、统计分析报表 6、数据指标统计////////////////////////////////


    /**
     * 数据统计分析 - 统计分析报表 - 统计
     * @param departid departid
     * @param level level
     * @param startDate startDate
     * @param endDate endDate
     * @param wxjDate wxjDate
     * @return List<Integer>
     */
    List<Integer> getStatisticalJyReports(
            @Param("departid") String departid,
            @Param("level") String level,
            @Param("startDate") String startDate,@Param("endDate") String endDate,@Param("wxjDate") String wxjDate);
    /**
     * 超标预警 - 核查成功人数
     * @param departid departid
     * @return Integer
     */
    Integer hccgRenShu(@Param("departid") String departid);

    /**
     * 超标预警 - 衔接总数
     * @param departid departid
     * @return Integer
     */
    Integer getXianJieZongShu(String departid);

    /**
     * 超标预警 - 衔接成功人数
     * @param departid departid
     * @return Integer
     */
    Integer getXianJieCgRenShu(String departid);

    /**
     * 超标预警 - 已安置人数
     * @param departid departid
     * @return Integer
     */
    Integer getYiAnZhiRenShu(@Param("departid") String departid);

    /**
     * 超标预警 - 进入安置帮教人数
     * @param departid departid
     * @return Integer
     */
    Integer getAnZhiZongShu(@Param("departid") String departid);

    /**
     * 超标预警 - 未安置人数
     * @param departid departid
     * @param level level
     * @param addressParams addressParams
     * @return Integer
     */
    Integer getWeiAnZhi(
            @Param("departid") String departid,
            @Param("level") String level,@Param("addressParams") Map<String,Object> addressParams);

    /**
     * 超标预警 - 帮教人数
     * @param departid departid
     * @param level level
     * @return Integer
     */
    Integer getBangJiaoRenShu(@Param("departid") String departid,@Param("level") String level);

    /**
     * 超标预警 - 失联人数
     * @param departid departid
     * @param level level
     * @param addressParams addressParams
     * @return Integer
     */
    Integer getShiLian(
            @Param("departid") String departid,
            @Param("level") String level,@Param("addressParams") Map<String,Object> addressParams);

    /**
     * 超标预警 - 高风险人数
     * @param departid departid
     * @param level level
     * @param addressParams addressParams
     * @return Integer
     */
    Integer getWeiXian(
            @Param("departid") String departid,
            @Param("level") String level,@Param("addressParams") Map<String,Object> addressParams);

    /**
     * 超标预警 - 再犯罪人数
     * @param departid departid
     * @param level level
     * @param addressParams addressParams
     * @return Integer
     */
    Integer getZaiFanZui(
            @Param("departid") String departid,
            @Param("level") String level,@Param("addressParams") Map<String,Object> addressParams);

    /**
     * 超标预警 - 解除安帮总数
     * @param departid departid
     * @param level level
     * @param addressParams addressParams
     * @return Integer
     */
    Integer getJcAnBangZongShu(
            @Param("departid") String departid,
            @Param("level") String level,@Param("addressParams") Map<String,Object> addressParams);

    /**
     * 趋势预警 - 预释放人员趋势预警
     * @param departid departid
     * @return List<String>
     */
    List<String> getYuShiFang(String departid);

    /**
     * 趋势预警 - 重点人员衔接趋势预警
     * @param departid departid
     * @return List<String>
     */
    List<String> getZhongDianRenYuan(String departid);

    /**
     * 数据统计 - 核查成功率
     * @param str str
     * @param departId departId
     * @param level level
     * @return BigDecimal
     */
    BigDecimal getEchartsHcData(@Param("str") String str,@Param("level") String level,@Param("departId") String departId);

    /**
     * 数据统计 - 衔接成功率=本月衔接成功人数/本月衔接成功人数+本月衔接失败人数(时间根据衔接表中的edittime)
     * @param str str
     * @param departId departId
     * @return BigDecimal
     */
    BigDecimal getEchartsXjData(String str,String departId);

    /**
     * 数据统计 - 安置率=本月安置人数/本月安置人数+本月转到安置帮教人数(安置人数的时间是根据安置表中的安置时间，转到安置帮教的时间是安帮表的创建时间)
     * @param str str
     * @param departId departId
     * @return BigDecimal
     */
    BigDecimal getEchartsAzData(String str,String departId);

    /**
     * 数据统计 - 帮教率=本月帮教人数/本月帮教人数+本月转到安置帮教人数(帮教人数的时间是根据帮教中的帮教时间，转到安置帮教的时间是安帮表的创建时间)
     * @param str str
     * @param departId departId
     * @return BigDecimal
     */
    BigDecimal getEchartsBjData(String str,String departId);

    /**
     * 数据统计 - 重新犯罪人数：安帮人员解除安帮表中解除状态为重新犯罪的人数
     * @param str str
     * @param departId departId
     * @param level level
     * @param addressParams addressParams
     * @return BigDecimal
     */
    BigDecimal getEchartsCxfzData(String str,
                                  @Param("departid") String departId,int level,
                                  @Param("addressParams") Map<String,Object> addressParams);

    /**
     * 数据统计 - "高风险人数" 查询ab_cun_jianding数量
     * @param str str
     * @param departId departId
     * @param level level
     * @param addressParams addressParams
     * @return Integer
     */
    Integer getEchartsGfxData(String str,
                              @Param("departid") String departId,int level,
                              @Param("addressParams") Map<String,Object> addressParams);
    ////////////////////////////////2、工作排名////////////////////////////////

    /**
     * 数据统计分析 - 工作排名 - 工作排名 -
     * @param jobRanking jobRanking
     * @return List<JobRanking>
     */
    List<JobRanking> checkList(@Param("JobRanking") JobRanking jobRanking);

    /**
     * 数据统计分析 - 工作排名 - 工作排名 -
     * @param jobRanking jobRanking
     * @return List<JobRanking>
     */
    List<JobRanking> checkList2(@Param("JobRanking") JobRanking jobRanking);

    /**
     * 数据统计分析 - 工作排名 - 工作排名 -
     * @param jobRanking jobRanking
     * @return List<JobRanking>
     */
    List<JobRanking> checkList3(@Param("JobRanking") JobRanking jobRanking);

    /**
     * 数据统计分析 - 工作排名 - 工作排名 -
     * @param jobRanking jobRanking
     * @return List<JobRanking>
     */
    List<JobRanking> checkList4(@Param("JobRanking") JobRanking jobRanking);

    /**
     * 数据统计分析 - 工作排名 - 工作排名 -
     * @param jobRanking jobRanking
     * @return List<JobRanking>
     */
    List<JobRanking> checkList7(@Param("JobRanking") JobRanking jobRanking);

    /**
     * 数据统计分析 - 工作排名 - 工作排名 -
     * @param jobRanking jobRanking
     * @return List<JobRanking>
     */
    List<JobRanking> checkList8(@Param("JobRanking") JobRanking jobRanking);

    /**
     * 数据统计分析 - 工作排名 - 工作排名 - (衔接率)
     * @param jobRanking jobRanking
     * @return List<JobRanking>
     */
    List<JobRanking> returnReceipt(@Param("JobRanking") JobRanking jobRanking);

    /**
     * 数据统计分析 - 工作排名 - 工作排名 -
     * @param jobRanking jobRanking
     * @return List<JobRanking>
     */
    List<JobRanking> returnReceipt2(@Param("JobRanking") JobRanking jobRanking);

    /**
     * 数据统计分析 - 工作排名 - 工作排名 -
     * @param jobRanking jobRanking
     * @return List<JobRanking>
     */
    List<JobRanking> returnReceipt3(@Param("JobRanking") JobRanking jobRanking);

    /**
     * 数据统计分析 - 工作排名 - 工作排名 -
     * @param jobRanking jobRanking
     * @return List<JobRanking>
     */
    List<JobRanking> returnReceipt4(@Param("JobRanking") JobRanking jobRanking);

    /**
     * 数据统计分析 - 工作排名 - 工作排名 -
     * @param jobRanking jobRanking
     * @return List<JobRanking>
     */
    List<JobRanking> returnReceipt7(@Param("JobRanking") JobRanking jobRanking);

    /**
     * 数据统计分析 - 工作排名 - 工作排名 -
     * @param jobRanking jobRanking
     * @return List<JobRanking>
     */
    List<JobRanking> returnReceipt8(@Param("JobRanking") JobRanking jobRanking);
    ////////////////////////////////3、报告生成////////////////////////////////

    /**
     * 1、安置帮教总人数
     * @param map map
     * @return Integer
     */
    Integer getAzbjZrs(Map<String,Object> map);

    /**
     * 2、专职工作人员
     * @param map map
     * @return Integer
     */
    Integer getZzgzry(Map<String,Object> map);

    /**
     * 3、从事安置帮教工作的社会工作者
     * @param map map
     * @return Integer
     */
    Integer getShgzz(Map<String,Object> map);

    /**
     * 4、社会志愿者
     * @param map map
     * @return Integer
     */
    Integer getShzyz(Map<String,Object> map);

    /**
     * 5、应核查服刑人员信息
     * @param map map
     * @return Integer
     */
    Integer getHcfxry(Map<String,Object> map);

    /**
     * 6、实际核查
     * @param map map
     * @return Integer
     */
    Integer getSjHc(Map<String,Object> map);

    /**
     * 7、核查率
     * @param map map
     * @return Integer
     */
    Integer getHcl(Map<String,Object> map);

    /**
     * 8、核查成功
     * @param map map
     * @return Integer
     */
    Integer getHccg(Map<String,Object> map);

    /**
     * 9、核查失败
     * @param map map
     * @return Integer
     */
    Integer getHcsb(Map<String,Object> map);

    /**
     * 10、等待核实
     * @param map map
     * @return Integer
     */
    Integer getDhc(Map<String,Object> map);

    /**
     * 11、共衔接刑释解矫人员
     * @param map map
     * @return Integer
     */
    Integer getXjxsry(Map<String,Object> map);

    /**
     * 12、监狱刑满释放
     * @param map map
     * @return Integer
     */
    Integer getJyxmsf(Map<String,Object> map);

    /**
     * 13、看守所刑满释放
     * @param map map
     * @return Integer
     */
    Integer getKssxmsf(Map<String,Object> map);

    /**
     * 14、社区矫正期满转入安置帮教
     * @param map map
     * @return Integer
     */
    Integer getSqjz(Map<String,Object> map);

    /**
     * 15、安置刑满释放人员
     * @param map map
     * @return Integer
     */
    Integer getQnazry(Map<String,Object> map);

    /**
     * 16、安置率
     * @param map map
     * @return Integer
     */
    Integer getAzlYxj(Map<String,Object> map);

    /**
     * 17、落实责任田
     * @param map map
     * @return Integer
     */
    Integer getLszrt(Map<String,Object> map);

    /**
     * 18、公益性岗位安置
     * @param map map
     * @return Integer
     */
    Integer getGyxgwaz(Map<String,Object> map);

    /**
     * 19、自主创业
     * @param map map
     * @return Integer
     */
    Integer getZzcy(Map<String,Object> map);

    /**
     * 20、从事个体经营
     * @param map map
     * @return Integer
     */
    Integer getCsgtjy(Map<String,Object> map);

    /**
     * 21、企业和经济实体吸纳就业
     * @param map map
     * @return Integer
     */
    Integer getQyjj(Map<String,Object> map);

    /**
     * 22、其他方式安置就业
     * @param map map
     * @return Integer
     */
    Integer getQtaz(Map<String,Object> map);

    /**
     * 23、全年共帮教
     * @param map map
     * @return Integer
     */
    Integer getQngbj(Map<String,Object> map);

    /**
     * 24、落实最低生活保障
     * @param map map
     * @return Integer
     */
    Integer getLszdbz(Map<String,Object> map);

    /**
     * 25、落实特困人员供养
     * @param map map
     * @return Integer
     */
    Integer getLstk(Map<String,Object> map);

    /**
     * 26、落实医疗救助
     * @param map map
     * @return Integer
     */
    Integer getLsyljz(Map<String,Object> map);

    /**
     * 27、落实教育救助
     * @param map map
     * @return Integer
     */
    Integer getLsjyjz(Map<String,Object> map);

    /**
     * 28、落实住房救助
     * @param map map
     * @return Integer
     */
    Integer getLszfjz(Map<String,Object> map);

    /**
     * 29、失业登记
     * @param map map
     * @return Integer
     */
    Integer getSydj(Map<String,Object> map);

    /**
     * 30、技能培训
     * @param map map
     * @return Integer
     */
    Integer getJnpx(Map<String,Object> map);

    /**
     * 31、推荐就业
     * @param map map
     * @return Integer
     */
    Integer getTjjy(Map<String,Object> map);

    /**
     * 32、解除安置帮教
     * @param map map
     * @return Integer
     */
    Integer getJcazbj(Map<String,Object> map);

    /**
     * 33、重新犯罪
     * @param map map
     * @return Integer
     */
    Integer getCxfz(Map<String,Object> map);

    /**
     * 34、衔接总数
     * @param map map
     * @return Integer
     */
    Integer getXjzs(Map<String,Object> map);

    /**
     * 35、帮教总数
     * @param map map
     * @return Integer
     */
    Integer getbjzs(Map<String,Object> map);

    /**
     * 帮扶救助总数
     * @param map map
     * @return Integer
     */
    Integer getBfJzzs(Map<String,Object> map);

    /**
     * 安置总数
     * @param map map
     * @return Integer
     */
    Integer getAzzs(Map<String,Object> map);

    /**
     * 查询报告名称
     * @param ttype ttype
     * @return List<Map < String,Object>>
     */
    List<Map<String,Object>> getbgTemplateList(@Param("ttype") String ttype);

    /**
     * 查询报告路径信息
     * @param id id
     * @return List<Map < String,Object>>
     */
    List<Map<String,Object>> getbgTemplateInfoById(@Param("id") String id);

    /**
     * 超标预警 - 核查总人数
     * @param departid departid
     * @param level level
     * @return Integer
     */
    Integer zongRenShu(@Param("departid") String departid,@Param("level") Integer level);
    /**
     * 待核查人数/核查失败 - 首页上方
     * @param departId departId
     * @param level level
     * @param type type
     * @return Integer
     */
    Integer getCountOfJs(@Param("departId") String departId,@Param("level") String level,@Param("type") String type);
    /**
     * 首页统计 - 点击首页通知栏数据改变状态 - 全部帮教对象数量
     * @param contentId contentId
     * @param type type
     * @param account account
     * @return Integer
     */
    Integer getCount(
            @Param("contentId") String contentId,@Param("type") String type,@Param("account") String account);
    /**
     * 首页统计-安置帮教数量
     * @param departId departId
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> allAzbjCount(@Param("departId") String departId);

    //---------首页缓存表统计
    /**
     * 司法厅---帮教对象人数
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> sftbjdxrs(@Param("localCode") String localCode);

    /**
     * 地市司法局---帮教对象人数
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> dssfjbjdxrs(@Param("localCode") String localCode);

    /**
     * 区县司法局---帮教对象人数
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> qxsfjbjdxrs(@Param("localCode") String localCode);

    /**
     * 司法厅---重点帮教对象数量
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> sftzdbjdxrs(@Param("localCode") String localCode);
    /**
     * 地市司法局---重点帮教对象数量
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> dssfjzdbjdxrs(@Param("localCode") String localCode);
    /**
     * 区县司法局---重点帮教对象数量
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> qxsfjzdbjdxrs(@Param("localCode") String localCode);
    /**
     * 司法厅--未衔接人数
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> sftwxjrs(@Param("localCode") String localCode);
    /**
     * 地市司法局--未衔接人数
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> dssfjwxjrs(@Param("localCode") String localCode);
    /**
     * 区县司法局--未衔接人数
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> qxsfjwxjrs(@Param("localCode") String localCode);

    /**
     * 街道--未衔接人数
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> jdwxjrs(@Param("localCode") String localCode);
    /**
     * 司法厅--失联人数
     * @param substring substring
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> sftslrs(@Param("localCode") String substring);
    /**
     * 地市司法局--失联人数
     * @param substring substring
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> dssfjslrs(@Param("localCode") String substring);
    /**
     * 区县司法局--失联人数
     * @param substring substring
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> qxsfjslrs(@Param("localCode") String substring);

    /**
     * 街道--失联人数
     * @param substring substring
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> slrs(@Param("localCode") String substring);

    /**
     * 监狱 待衔接重点帮教对象人数
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> dxjzddxrs(@Param("localCode") String localCode);

    /**
     * 监狱 待衔接人数
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> dxjrs(@Param("localCode") String localCode);

    /**
     * 监狱 未衔接人数
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> jywxjrs(@Param("localCode") String localCode);

    /**
     * 监狱-核查失败人数
     * @param substring substring
     * @return 核查失败人数
     */
    List<AzbjRsVo> hcsbrs(@Param("localCode") String substring);

    /**
     * 监狱-未进行出监、危险性评估人数
     * @param substring 省份编码前两位
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> wpgrs(@Param("localCode") String substring);

    /**
     * 监狱-待核查人数
     * @param substring 省份编码前两位
     * @return List<AzbjRsVo>
     */
    List<AzbjRsVo> dhcrs(@Param("localCode") String substring);

    /**
     * 社矫 核查失败人员
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    AzbjRsVo sjhcsbrs(@Param("localCode") String localCode);

    /**
     * 社矫 核查成功人员
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    AzbjRsVo sjhccgrs(@Param("localCode") String localCode);

    /**
     * 社矫 衔接中人数
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    AzbjRsVo sjxjzrs(@Param("localCode") String localCode);

    /**
     * 社矫 衔接成功人员
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    AzbjRsVo sjxjcgrs(@Param("localCode") String localCode);

    /**
     * 社矫 衔接失败人员
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    AzbjRsVo sjxjsbrs(@Param("localCode") String localCode);

    /**
     * 社矫 未衔接人员
     * @param localCode localCode
     * @return List<AzbjRsVo>
     */
    AzbjRsVo sjwxjrs(@Param("localCode") String localCode);

    /**
     * 获取该字段在表中的数量
     * @param field field
     * @return 表中字段数量
     */
    Integer getFieldCount(@Param("field") String field);

    /**
     * 描述
     * @param departId departId
     * @param yearMonth yearMonth
     * @return Integer
     */
    Integer loginCensus(@Param("departId")String departId,@Param("yearMonth")String yearMonth);

    /**
     * 司法所首页-获取安置帮教基地数量
     * @param departId 部门id
     * @return 基地数量
     */
    Integer sfsjdsl(String departId);

    /**
     * 司法所首页-获取社会组织数量
     * @param departId 部门id
     * @return 社会组织数量
     */
    Integer sfsshzzsl(String departId);

    /**
     * 司法所首页-获取志愿者数量
     * @param departId 部门id
     * @return 志愿者数量
     */
    Integer sfszyzsl(String departId);
}